package cn.exrick.xboot.base.vo

import cn.exrick.xboot.core.common.constant.CommonConstant
import cn.exrick.xboot.core.common.utils.NameUtil
import io.swagger.annotations.ApiModel
import io.swagger.annotations.ApiModelProperty
import javax.validation.constraints.NotNull
import javax.validation.constraints.Pattern
import javax.validation.constraints.Size

@ApiModel("监管部门用户信息")
data class SupervisionUserInfoVo(

        @ApiModelProperty("用户id")
        var id: String? = null,

        @ApiModelProperty(value = "用户头像")
        var avatar: String? = CommonConstant.USER_DEFAULT_AVATAR,

        @ApiModelProperty(value = "手机")
        var mobile: @Pattern(regexp = NameUtil.regMobile, message = "11位手机号格式不正确") String? = null,

        @ApiModelProperty(value = "用户名/昵称/姓名")
        var nickname: @NotNull(message = "不能为空") @Size(max = 20, message = "昵称长度不能超过20") String? = null,

        @ApiModelProperty("监管部门等级")
        var userLevel: Int? = null,

        @ApiModelProperty("部门等级")
        var userLevelStr: String? = null,

        @ApiModelProperty("所属科室")
        var officeId: String? = null,

        @ApiModelProperty("科室")
        var officeName: String? = null,

        @ApiModelProperty("所属职务")
        var dutyName: String? = null,

        @ApiModelProperty(value = "邮箱")
        var email: @Pattern(regexp = NameUtil.regEmail, message = "邮箱格式不正确") String? = null,

        @ApiModelProperty(value = "密码")
        var password: @NotNull(message = "不能为空") String? = null,

        @ApiModelProperty("角色名")
        var roleName: String? = null

)